Despite the technology improvements in reducing the occurrence of red-eye in photographs, red-eye continues to be a prevalent problem for professionals, consumers, and companies. Many solutions have attempted to tackle this frequent problem, including creating red-eye reduction algorithms. However, most previous approaches attempting to address the red-eye problem have involved simply reducing the resolution of the image prior to applying detection processing. In addition, the previous algorithms were designed for computational speed and robustness of performance, as opposed to memory efficiency.
Previous algorithms have required up to 7 additional planes, requiring 7 bytes of storage per pixel. One plane is needed to store a measurement of redness in RGB space, one plane to store a measurement of redness in CieLab space, four planes to store integrated RGB redness values, and one plane to store a binary map of pixels that pass the redness thresholds. Although these approaches have yielded satisfactory results on a personal computer, the same cannot be said for embedded hardware. Existing red-eye reduction algorithms often require a large amount of available memory. Devices which rely on embedded hardware, such as printers, digital cameras, scanners, and all-in-one devices have typically not performed well in utilizing red-eye reduction algorithms due to memory restrictions.